package com.logic.landseaserver.service;

import java.util.List;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.domain.Check;
import com.logic.landseaserver.domain.Procedure;
import com.logic.landseaserver.ws.dto.ProcedureDTO;

public interface IProcedureService extends ICRUDService {

	List<ProcedureDTO> queryDTO(QueryUtil queryUtil);

	ProcedureDTO getDTO(Integer procedureId);

	void add2Template(Procedure procedure) throws BusinessException;

	Procedure copyFromTemplate(Integer procedureId) throws BusinessException;

	Check addCheck(Integer procedureId, Integer checkId) throws BusinessException;

	List<ProcedureDTO> queryByProjectId(QueryUtil queryUtil);

	List<Procedure> getByProjectId(Integer projectId);

	Integer countByProjectId(Integer projectId);

	Integer sumDurationByProjectId(Integer projectId);

}
